package org.jeecg.modules.yinsheng.command.base;

import java.io.Serializable;
import java.util.UUID;

import org.jeecg.modules.yinsheng.annotation.Length;
import org.jeecg.modules.yinsheng.annotation.NotBlank;
import org.jeecg.modules.yinsheng.common.YsPayConstant;

public class BaseHeadReqCommand implements Serializable {

	/**
	 * TODO
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 请求流水标识，用于日志查询使用
	 */
	@NotBlank(message = "请求流水标识不能为空")
	@Length(max = 64, message = "请求流水标识最大长度不能超过32个字符")
	private String requestId = UUID.randomUUID().toString().replace("-", "");

	/**
	 * 接口版本V100
	 */
	@NotBlank(message = "接口版本不能为空")
	@Length(max = 10, message = "接口版本最大长度不能超过20个字符")
	private String version = YsPayConstant.SDK_VERSION;

	/**
	 * 编码格式，如utf-8
	 */
	@NotBlank(message = "编码不能为空")
	@Length(max = 10, message = "编码最大长度不能超过10个字符")
	private String charset = YsPayConstant.CHARSET;

	/**
	 * 签名方式，RSA
	 */
	@NotBlank(message = "签名方式不能为空")
	@Length(max = 10, message = "签名方式最大长度不能超过10个字符")
	private String signType = YsPayConstant.SIGN_TYPE;

	/**
	 * RSA签名字符串，再用Base64编码
	 */
	private String sign;
	// 服务编码
	private String serviceNo;

	/**
	 * 业务参数,json格式
	 */
	private String bizReqJson;

	public String getRequestId() {
		return requestId;
	}

	public void setRequestId(String requestId) {
		this.requestId = requestId;
	}

	public String getServiceNo() {
		return serviceNo;
	}

	public void setServiceNo(String serviceNo) {
		this.serviceNo = serviceNo;
	}

	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public String getCharset() {
		return charset;
	}

	public void setCharset(String charset) {
		this.charset = charset;
	}

	public String getSignType() {
		return signType;
	}

	public void setSignType(String signType) {
		this.signType = signType;
	}

	public String getSign() {
		return sign;
	}

	public void setSign(String sign) {
		this.sign = sign;
	}

	public String getBizReqJson() {
		return bizReqJson;
	}

	public void setBizReqJson(String bizReqJson) {
		this.bizReqJson = bizReqJson;
	}

}
